Panel, Container এবং Box Layout ব্যবস্থাপনা

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Layout এবং Container Management |

ExtJS এর Panel, Container, এবং Box Layout ব্যবস্থাপনা ইউজার ইন্টারফেসের লেআউট এবং উপাদানগুলোর বিন্যাস নিয়ন্ত্রণ করতে সহায়ক। এগুলি সাধারণত UI উপাদানগুলোকে একটি কনটেইনারের মধ্যে আছড়ে ফেলতে ব্যবহৃত হয়, যেখানে কম্পোনেন্টগুলো যথাযথভাবে সাজানো ও সজ্জিত করা হয়।

এগুলো ব্যবহার করে আপনি খুব সহজে ফ্লেক্সিবল, রেসপন্সিভ এবং কাস্টমাইজড লেআউট তৈরি করতে পারেন।


১. Panel

Panel কম্পোনেন্ট একটি কনটেইনার যা অন্য কম্পোনেন্ট এবং UI উপাদান ধারণ করতে পারে। এটি সাধারণত একটি বর্ডার, শিরোনাম এবং বডি ধারণ করে এবং html, items ইত্যাদি কনফিগারেশন দিয়ে অন্যান্য উপাদান যুক্ত করা হয়।

Panel উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'My Panel',       // প্যানেলের শিরোনাম
    width: 300,              // প্যানেলের প্রস্থ
    height: 200,             // প্যানেলের উচ্চতা
    html: '<p>Welcome to ExtJS!</p>',  // প্যানেলের ভিতরের HTML কনটেন্ট
    renderTo: Ext.getBody()  // DOM এর body তে রেন্ডার হবে
});

এখানে:

  • title: প্যানেলের শিরোনাম নির্ধারণ করে।
  • width / height: প্যানেলের আকার নির্ধারণ করে।
  • html: প্যানেলের ভিতরের HTML কনটেন্ট।
  • renderTo: প্যানেলটি কোন DOM এলিমেন্টে রেন্ডার হবে তা নির্ধারণ করে।

Panel সাধারণত ব্যবহারকারীর তথ্য প্রদর্শন করতে, তথ্য ফর্ম বা ডেটা ভিউ সংক্রান্ত কাজের জন্য ব্যবহৃত হয়।


২. Container

Container একটি মৌলিক কম্পোনেন্ট, যা অন্যান্য কম্পোনেন্টের জন্য কন্টেইনার হিসেবে কাজ করে। এটি layout কনফিগারেশনের মাধ্যমে অন্তর্ভুক্ত কম্পোনেন্টগুলোর পজিশন এবং বিন্যাস নিয়ন্ত্রণ করে। Container কম্পোনেন্টটি সাধারণত Panel, Window এবং অন্যান্য উইন্ডো টাইপ কম্পোনেন্টের ভিত্তি।

Container উদাহরণ:

Ext.create('Ext.container.Container', {
    renderTo: Ext.getBody(),
    layout: 'hbox',  // হরিজেন্টাল বক্স লেআউট
    items: [{
        xtype: 'panel',
        title: 'Panel 1',
        width: 150,
        height: 100
    }, {
        xtype: 'panel',
        title: 'Panel 2',
        width: 150,
        height: 100
    }]
});

এখানে:

  • layout: কন্টেইনারের ভেতরে কম্পোনেন্টগুলোর বিন্যাস নিয়ন্ত্রণ করে। এখানে hbox লেআউট ব্যবহৃত হয়েছে, যা উপাদানগুলোকে একে অপরের পাশে রেখেছে।
  • items: কন্টেইনারে রাখা কম্পোনেন্টগুলো (যেমন Panel)।

৩. Box Layout

Box Layout একটি লেআউট ম্যানেজার, যা এক বা একাধিক কম্পোনেন্টকে একটি এক্সিসে (অথবা অনুভূমিক বা উল্লম্বভাবে) সাজায়। এটি দুটি প্রধান টাইপে আসে:

  1. hbox: অনুভূমিকভাবে কম্পোনেন্টগুলো সাজানো হয়।
  2. vbox: উল্লম্বভাবে কম্পোনেন্টগুলো সাজানো হয়।

Box Layout উদাহরণ:

hbox (Horizontal Box Layout) উদাহরণ:

Ext.create('Ext.container.Container', {
    renderTo: Ext.getBody(),
    layout: 'hbox',  // অনুভূমিক বক্স লেআউট
    items: [{
        xtype: 'panel',
        title: 'Panel 1',
        width: 150,
        height: 100
    }, {
        xtype: 'panel',
        title: 'Panel 2',
        width: 150,
        height: 100
    }]
});

এখানে, hbox লেআউটের মাধ্যমে দুটি প্যানেল অনুভূমিকভাবে একে অপরের পাশে সাজানো হয়েছে।

vbox (Vertical Box Layout) উদাহরণ:

Ext.create('Ext.container.Container', {
    renderTo: Ext.getBody(),
    layout: 'vbox',  // উল্লম্ব বক্স লেআউট
    items: [{
        xtype: 'panel',
        title: 'Panel 1',
        width: 150,
        height: 100
    }, {
        xtype: 'panel',
        title: 'Panel 2',
        width: 150,
        height: 100
    }]
});

এখানে, vbox লেআউটের মাধ্যমে দুটি প্যানেল উল্লম্বভাবে একে অপরের উপরে সাজানো হয়েছে।


৪. Box Layout এর কনফিগারেশন

Box Layout ব্যবহারে কিছু গুরুত্বপূর্ণ কনফিগারেশন যেমন pack, align ইত্যাদি ব্যবহার করা হয়।

  • pack: উপাদানগুলির স্থান নির্ধারণ করে (উদাহরণস্বরূপ, start, center, end ইত্যাদি)।
  • align: উপাদানগুলির ভারটিক্যাল অ্যালাইনমেন্ট নির্ধারণ করে (উদাহরণস্বরূপ, stretch, center, start ইত্যাদি)।

Box Layout এর সাথে Pack এবং Align কনফিগারেশন:

Ext.create('Ext.container.Container', {
    renderTo: Ext.getBody(),
    layout: {
        type: 'hbox',
        pack: 'center',  // উপাদানগুলোকে কেন্দ্রীভূত করবে
        align: 'middle'  // উপাদানগুলোকে উল্লম্বভাবে মাঝখানে রাখবে
    },
    items: [{
        xtype: 'panel',
        title: 'Panel 1',
        width: 150,
        height: 100
    }, {
        xtype: 'panel',
        title: 'Panel 2',
        width: 150,
        height: 100
    }]
});

এখানে:

  • pack: 'center': উপাদানগুলোকে কেন্দ্রে রেখেছে।
  • align: 'middle': উপাদানগুলোকে উল্লম্বভাবে মাঝখানে রেখেছে।

সারাংশ

  • Panel: একটি কনটেইনার কম্পোনেন্ট যা বিভিন্ন UI উপাদান ধারণ করে এবং কাস্টমাইজড লেআউট তৈরি করতে ব্যবহৃত হয়।
  • Container: এক বা একাধিক উপাদান ধারণ করতে ব্যবহৃত কনটেইনার, যা layout এর মাধ্যমে উপাদানগুলোর বিন্যাস নিয়ন্ত্রণ করে।
  • Box Layout: hbox এবং vbox লেআউটগুলির মাধ্যমে উপাদানগুলোকে অনুভূমিক বা উল্লম্বভাবে সাজানো হয়।
  • pack এবং align কনফিগারেশন ব্যবহার করে উপাদানগুলোর পজিশনিং এবং অ্যালাইনমেন্ট নিয়ন্ত্রণ করা যায়।

Panel, Container, এবং Box Layout ব্যবহারের মাধ্যমে আপনি খুব সহজে এবং কার্যকরভাবে UI উপাদানগুলি সাজাতে এবং কাস্টমাইজ করতে পারবেন। ExtJS এর এই বৈশিষ্ট্যগুলি ডেভেলপারদের শক্তিশালী এবং রেসপন্সিভ ইউজার ইন্টারফেস তৈরিতে সাহায্য করে।

Content added By
Promotion